home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / tex / macros / latex2e / amslatex / amsbook.cls < prev    next >
Text File  |  1995-01-26  |  39KB  |  1,036 lines

  1. %% 
  2. %% This is file `amsbook.cls', generated 
  3. %% on <1995/1/26> with the docstrip utility (2.2i).
  4. %% 
  5. %% The original source files were:
  6. %% 
  7. %% amscls.dtx  (with options: `amsbook')
  8. %%% ====================================================================
  9. %%%  @LaTeX-file{
  10. %%%     filename        = "amscls.dtx",
  11. %%%     version         = "1.2beta",
  12. %%%     date            = "1994/12/13",
  13. %%%     time            = "11:36:18 EST",
  14. %%%     author          = "American Mathematical Society",
  15. %%%     copyright       = "Copyright (C) 1994 American Mathematical Society,
  16. %%%                        all rights reserved.  Copying of this file is
  17. %%%                        authorized only if either:
  18. %%%                        (1) you make absolutely no changes to your copy,
  19. %%%                        including name; OR
  20. %%%                        (2) if you do make changes, you first rename it
  21. %%%                        to some other name.",
  22. %%%     address         = "American Mathematical Society,
  23. %%%                        Technical Support,
  24. %%%                        Electronic Products and Services,
  25. %%%                        P. O. Box 6248,
  26. %%%                        Providence, RI 02940,
  27. %%%                        USA",
  28. %%%     telephone       = "401-455-4080 or (in the USA and Canada)
  29. %%%                        800-321-4AMS (321-4267)",
  30. %%%     FAX             = "401-331-3842",
  31. %%%     checksum        = "56186 2595 9908 96646",
  32. %%%     email           = "tech-support@math.ams.org (Internet)",
  33. %%%     codetable       = "ISO/ASCII",
  34. %%%     keywords        = "latex, amslatex, ams-latex",
  35. %%%     supported       = "yes",
  36. %%%     abstract        = "This is part of the AMS-\LaTeX{} distribution.
  37. %%%                        It produces output conforming to the style
  38. %%%                        conventions of American Mathematical Society
  39. %%%                        publications.  The file \fn{amscls.dtx} is
  40. %%%                        converted by the installation procedure
  41. %%%                        into two document classes, \cls{amsart} and
  42. %%%                        \cls{amsbook}, which are intended, respectively,
  43. %%%                        for articles and books containing mathematical
  44. %%%                        research; both class files will also carry this
  45. %%%                        heading, and the particular class should be
  46. %%%                        determined from the external file name.",
  47. %%%     docstring       = "The checksum field above contains a CRC-16
  48. %%%                        checksum as the first value, followed by the
  49. %%%                        equivalent of the standard UNIX wc (word
  50. %%%                        count) utility output of lines, words, and
  51. %%%                        characters.  This is produced by Robert
  52. %%%                        Solovay's checksum utility.",
  53. %%%  }
  54. %%% ====================================================================
  55. \NeedsTeXFormat{LaTeX2e}
  56. \ProvidesClass{amsbook}[1994/10/27 v1.2beta]
  57. \DeclareOption{a4paper}{\paperheight 297mm\paperwidth 210mm }
  58. \DeclareOption{letterpaper}{\paperheight 11in\paperwidth 8.5in }
  59. \DeclareOption{legalpaper}{\paperheight 14in\paperwidth 8.5in }
  60. \DeclareOption{landscape}{\@tempdima\paperheight
  61.   \paperheight\paperwidth \paperwidth\@tempdima}
  62. \DeclareOption{portrait}{}
  63. \DeclareOption{oneside}{\@twosidefalse \@mparswitchfalse}
  64. \DeclareOption{twoside}{\@twosidetrue  \@mparswitchtrue}
  65. \DeclareOption{draft}{\overfullrule5\p@ }
  66. \DeclareOption{final}{\overfullrule\z@ }
  67. \DeclareOption{titlepage}{\@titlepagetrue}
  68. \DeclareOption{notitlepage}{\@titlepagefalse}
  69. \DeclareOption{onecolumn}{\@twocolumnfalse}
  70. \DeclareOption{twocolumn}{\@twocolumntrue}
  71. \DeclareOption{nomath}{%
  72.   \def\numberwithin##1##2{\@ifundefined{c@##1}{\@nocounterr{##1}}{%
  73.     \@ifundefined{c@##2}{\@nocounterr{##2}}{%
  74.     \@addtoreset{##1}{##2}%
  75.     \toks@\@xp\@xp\@xp{\csname the##1\endcsname}%
  76.     \@xp\xdef\csname the##1\endcsname
  77.       {\@xp\@nx\csname the##2\endcsname
  78.        .\the\toks@}}}}
  79. }
  80. \DeclareOption{noamsfonts}{%
  81.   \PassOptionsToPackage{noamsfonts}{amsfonts}}
  82. \DeclareOption{psamsfonts}{%
  83.   \PassOptionsToPackage{psamsfonts}{amsfonts}}
  84. \newif\iftagsleft@
  85. \DeclareOption{leqno}{%
  86.   \tagsleft@true \PassOptionsToPackage{leqno}{amstex}}
  87. \DeclareOption{reqno}{%
  88.   \tagsleft@false \PassOptionsToPackage{reqno}{amstex}}
  89. \newif\ifctagsplit@
  90. \DeclareOption{centertags}{%
  91.   \ctagsplit@true \PassOptionsToPackage{centertags}{amstex}}
  92. \DeclareOption{tbtags}{%
  93.   \ctagsplit@false \PassOptionsToPackage{tbtags}{amstex}}
  94. \DeclareOption{fleqn}{%
  95.   \def\[{\relax
  96.     \ifmmode\@badmath
  97.     \else
  98.       \begin{trivlist}%
  99.       \@beginparpenalty\predisplaypenalty
  100.       \@endparpenalty\postdisplaypenalty
  101.       \item[]\leavevmode
  102.       \hbox to\linewidth\bgroup$\displaystyle
  103.       \hskip\mathindent\bgroup
  104.     \fi}%
  105.   \def\]{\relax
  106.     \ifmmode
  107.       \egroup \m@th$\hfil \egroup
  108.       \end{trivlist}%
  109.     \else \@badmath
  110.     \fi}%
  111.   \renewenvironment{equation}{%
  112.     \@beginparpenalty\predisplaypenalty
  113.     \@endparpenalty\postdisplaypenalty
  114.     \refstepcounter{equation}%
  115.     \@topsep\abovedisplayskip \trivlist
  116.     \item[]\leavevmode
  117.     \hbox to\linewidth\bgroup\hskip\mathindent$\displaystyle
  118.   }{%
  119.     \m@th$\hfil \displaywidth\linewidth \hbox{\@eqnnum}\egroup
  120.     \endtrivlist
  121.   }%
  122.   \renewenvironment{eqnarray}{%
  123.     \stepcounter{equation}\let\@currentlabel\theequation
  124.     \global\@eqnswtrue \global\@eqcnt\z@ \tabskip\mathindent
  125.     \let\\=\@eqncr \abovedisplayskip\topsep
  126.     \ifvmode \advance\abovedisplayskip\partopsep \fi
  127.     \belowdisplayskip\abovedisplayskip
  128.     \belowdisplayshortskip\abovedisplayskip
  129.     \abovedisplayshortskip\abovedisplayskip
  130.     $$\everycr{}\halign to\linewidth\bgroup
  131.       \hskip\@centering
  132.       $\displaystyle\tabskip\z@skip####\m@th$&%
  133.       \@eqnsel \global\@eqcnt\@ne
  134.       \hfil${}####{}\m@th$\hfil&%
  135.       \global\@eqcnt\tw@
  136.       $\displaystyle ####\m@th$\hfil\tabskip\@centering&%
  137.       \global\@eqcnt\thr@@
  138.       \hbox to \z@\bgroup\hss####\egroup\tabskip\z@skip\cr
  139.     }{%
  140.       \@@eqncr \egroup \global\advance\c@equation\m@ne$$%
  141.       \global\@ignoretrue
  142.     }%
  143.   \newdimen\mathindent \mathindent\leftmargini
  144. }
  145. \newcommand{\@mainsize}{10}
  146. \newcommand{\@ptsize}{0}
  147. \newcommand{\larger}[1][1]{%
  148.   \count@\@currsizeindex \advance\count@#1\relax
  149.   \ifnum\count@<\z@ \count@\z@ \else\ifnum\count@>12 \count@12 \fi\fi
  150.   \ifcase\count@
  151.     \Tiny\or\Tiny\or\tiny\or\SMALL\or\Small\or\small
  152.     \or\normalsize
  153.     \or\large\or\Large\or\LARGE\or\huge\or\Huge\else\Huge
  154.   \fi
  155. }
  156. \newcommand{\smaller}[1][1]{\larger[-#1]}
  157. \def\@adjustvertspacing{%
  158.   \bigskipamount.7\baselineskip plus.7\baselineskip
  159.   \medskipamount\bigskipamount \divide\medskipamount\tw@
  160.   \smallskipamount\medskipamount \divide\smallskipamount\tw@
  161.   \abovedisplayskip\medskipamount
  162.   \belowdisplayskip \abovedisplayskip
  163.   \abovedisplayshortskip\abovedisplayskip
  164.   \advance\abovedisplayshortskip-1\abovedisplayskip
  165.   \belowdisplayshortskip\abovedisplayshortskip
  166.   \advance\belowdisplayshortskip 1\smallskipamount
  167.   \jot\baselineskip \divide\jot 4 \relax
  168. }
  169. \renewcommand\normalsize{\@xsetfontsize\normalsize 6%
  170.   \@adjustvertspacing \let\@listi\@listI}
  171. \newcommand\Tiny{\@xsetfontsize\Tiny 1}
  172. \newcommand\tiny{\@xsetfontsize\tiny 2}
  173. \newcommand\SMALL{\@xsetfontsize\SMALL 3}
  174. \newcommand\Small{\@xsetfontsize\Small 4%
  175.   \@adjustvertspacing
  176.   \def\@listi{\topsep\smallskipamount \parsep\z@skip \itemsep\z@skip}}
  177. \newcommand\small{\@xsetfontsize\small 5\@adjustvertspacing}
  178. \def\footnotesize{\Small}
  179. \def\scriptsize{\SMALL}
  180. \newcommand\large{\@xsetfontsize\large 7\@adjustvertspacing}
  181. \newcommand\Large{\@xsetfontsize\Large 8\@adjustvertspacing}
  182. \newcommand\LARGE{\@xsetfontsize\LARGE 9}
  183. \newcommand\huge{\@xsetfontsize\huge{10}}
  184. \newcommand\Huge{\@xsetfontsize\Huge{11}}
  185. \def\@xsetfontsize#1#2{%
  186.   \chardef\@currsizeindex#2\relax
  187.   \edef\@tempa{\@nx\@setfontsize\@nx#1%
  188.     \@xp\ifcase\@xp\@currsizeindex\@typesizes
  189.       \else{99}{99}\fi}%
  190.   \@tempa
  191. }
  192. \chardef\@currsizeindex=6
  193. \widowpenalty=10000
  194. \clubpenalty=10000
  195. \brokenpenalty=10000
  196. \newdimen\linespacing
  197. \lineskip=1pt \lineskiplimit=1pt
  198. \normallineskip=1pt \normallineskiplimit=1pt
  199. \let\baselinestretch=\@empty
  200. \headheight=6pt \headsep=12pt
  201. \footskip=12pt
  202. \textheight=50.5pc \topskip=10pt
  203. \textwidth=30pc
  204. \columnsep=10pt \columnseprule=0pt
  205. \marginparwidth=90pt
  206. \marginparsep=11pt
  207. \AtBeginDocument{\settoheight{\footnotesep}{\footnotesize M$^1$}}
  208. \skip\footins=7pt plus11pt
  209. \skip\@mpfootins=\skip\footins
  210. \fboxsep=3pt \fboxrule=.4pt
  211. \arrayrulewidth=.4pt    \doublerulesep=2pt
  212. \labelsep=5pt           \arraycolsep=\labelsep
  213. \tabcolsep=\labelsep    \tabbingsep=\labelsep
  214. \floatsep=15pt plus 12pt    \dblfloatsep=15pt plus 12pt
  215. \textfloatsep=\floatsep  \dbltextfloatsep=15pt plus 12pt
  216. \intextsep=\floatsep
  217. \@fptop=0pt plus1fil     \@dblfptop=0pt plus1fil
  218. \@fpbot=0pt plus1fil     \@dblfpbot=0pt plus1fil
  219. \@fpsep=8pt plus2fil     \@dblfpsep=8pt plus2fil\relax
  220. \marginparpush=5pt
  221. \parskip=0pt
  222. \newdimen\normalparindent
  223. \normalparindent=18pt
  224. \parindent=\normalparindent
  225. \partopsep=0pt \relax
  226. \parsep=0pt \relax
  227. \itemsep=0pt \relax
  228. \@lowpenalty=51         \@medpenalty=151        \@highpenalty=301
  229. \@beginparpenalty=-\@lowpenalty
  230. \@endparpenalty=-\@lowpenalty
  231. \@itempenalty=-\@lowpenalty
  232. \DeclareOption{10pt}{\def\@mainsize{10}\def\@ptsize{0}%
  233.   \def\@typesizes{%
  234.     \or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}%
  235.     \or{10}{12}% normalsize
  236.     \or{\@xipt}{13}\or{\@xiipt}{14}\or{\@xivpt}{17}%
  237.     \or{\@xviipt}{20}\or{\@xxpt}{24}}%
  238.   \normalsize \linespacing=\baselineskip
  239. }
  240. \DeclareOption{11pt}{\def\@mainsize{11}\def\@ptsize{1}%
  241.   \def\@typesizes{%
  242.     \or{6}{7}\or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}%
  243.     \or{\@xipt}{13}% normalsize
  244.     \or{\@xiipt}{14}\or{\@xivpt}{17}\or{\@xviipt}{20}%
  245.     \or{\@xxpt}{24}\or{\@xxvpt}{30}}%
  246.   \normalsize \linespacing=\baselineskip
  247. }
  248. \DeclareOption{12pt}{\def\@mainsize{12}\def\@ptsize{2}%
  249.   \def\@typesizes{%
  250.     \or{7}{8}\or{8}{10}\or{9}{11}\or{10}{12}\or{\@xipt}{13}%
  251.     \or{\@xiipt}{14}% normalsize
  252.     \or{\@xivpt}{17}\or{\@xviipt}{20}\or{\@xxpt}{24}%
  253.     \or{\@xxvpt}{30}\or{\@xxvpt}{30}}%
  254.   \normalsize \linespacing=\baselineskip
  255. }
  256. \DeclareOption{8pt}{\def\@mainsize{8}\def\@ptsize{8}%
  257.   \def\@typesizes{%
  258.     \or{5}{6}\or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}%
  259.     \or{8}{10}% normalsize
  260.     \or{9}{11}\or{10}{12}\or{\@xipt}{13}%
  261.     \or{\@xiipt}{14}\or{\@xivpt}{17}}%
  262.   \normalsize \linespacing=\baselineskip
  263. }
  264. \DeclareOption{9pt}{\def\@mainsize{9}\def\@ptsize{9}%
  265.   \def\@typesizes{%
  266.     \or{5}{6}\or{5}{6}\or{6}{7}\or{7}{8}\or{8}{10}%
  267.     \or{9}{11}% normalsize
  268.     \or{10}{12}\or{\@xipt}{13}\or{\@xiipt}{14}%
  269.     \or{\@xivpt}{17}\or{\@xviipt}{20}}%
  270.   \normalsize \linespacing=\baselineskip
  271. }
  272. \def\ps@empty{\let\@mkboth\@gobbletwo
  273.   \let\@oddhead\@empty \let\@evenhead\@empty
  274.   \let\@oddfoot\@empty \let\@evenfoot\@empty
  275.   \global\topskip\normaltopskip}
  276. \def\ps@plain{\ps@empty
  277.   \def\@oddfoot{\normalfont\scriptsize \hfil\thepage\hfil}%
  278.   \let\@evenfoot\@oddfoot}
  279. \def\ps@headings{\ps@empty
  280.   \def\@evenhead{\normalfont\scriptsize
  281.       \rlap{\thepage}\hfil \leftmark{}{}\hfil}%
  282.   \def\@oddhead{\normalfont\scriptsize \hfil
  283.       \rightmark{}{}\hfil \llap{\thepage}}%
  284.   \let\@mkboth\markboth
  285.   \def\partmark{\@secmark\markboth\partrunhead\partname}%
  286.   \def\chaptermark{%
  287.     \@secmark\markboth\chapterrunhead\chaptername}%
  288.   \def\sectionmark{%
  289.     \@secmark\markright\sectionrunhead\sectionname}%
  290. }
  291. \let\sectionname\@empty
  292. \long\def\@nilgobble#1\@nil{}
  293. \def\@secmark#1#2#3#4#5{%
  294.   \begingroup \let\protect\@unexpandable@protect
  295.   \edef\@tempa{\endgroup \toks@{\@nx#2{#3}{#4}}}%
  296.   \@tempa
  297.   \toks@\@xp{\the\toks@{#5}}%
  298.   \afterassignment\@nilgobble\@temptokena\@themark{}\@nil
  299.   \edef\@tempa{\@nx\@mkboth{%
  300.     \ifx\markright#1\the\@temptokena\else\the\toks@\fi}{\the\toks@}}%
  301.   \@tempa}
  302. \def\markboth#1#2{%
  303.   \begingroup
  304.     \@temptokena{{#1}{#2}}\xdef\@themark{\the\@temptokena}%
  305.     \mark{\the\@temptokena}%
  306.   \endgroup
  307.   \if@nobreak\ifvmode\nobreak\fi\fi}
  308. \def\ps@myheadings{\ps@headings \let\@mkboth\@gobbletwo}
  309. \newskip\normaltopskip
  310. \normaltopskip=10pt \relax
  311. \DeclareOption{makeidx}{}
  312. \DeclareOption*{\if@compatibility\input{\CurrentOption.sty}%
  313.   \else\expandafter\@unknownoptionerror\fi}
  314. \input{amsgen.sty}
  315. \ExecuteOptions{leqno,centertags,letterpaper,portrait,%
  316.   10pt,twoside,onecolumn,final}
  317. \ProcessOptions
  318. \@ifundefined{numberwithin}{\RequirePackage{amstex}\relax}{}
  319. \newcommand{\uppercasenonmath}[1]{\toks@\@emptytoks
  320.   \@xp\@skipmath\@xp\@empty#1$$%
  321.   \edef#1{\@nx\@upprep\the\toks@}%
  322. }
  323. \newcommand{\@upprep}{%
  324.   \spaceskip1.3\fontdimen2\font plus1.3\fontdimen3\font
  325.   \upchars@}
  326. \newcommand{\upchars@}{%
  327.   \def\ss{SS}\def\i{I}\def\j{J}\def\ae{\AE}\def\oe{\OE}%
  328.   \def\o{\O}\def\aa{\AA}\def\l{\L}\def\Mc{M{\scshape c}}}
  329. \newcommand{\@skipmath}{}
  330. \long\def\@skipmath#1$#2${%
  331.   \@xskipmath#1\(\)%
  332.   \@ifnotempty{#2}{\toks@\@xp{\the\toks@$#2$}\@skipmath\@empty}}%
  333. \newcommand{\@xskipmath}{}
  334. \long\def\@xskipmath#1\(#2\){%
  335.   \uppercase{\toks@\@xp\@xp\@xp{\@xp\the\@xp\toks@#1}}%
  336.   \@ifnotempty{#2}{\toks@\@xp{\the\toks@\(#2\)}\@xskipmath\@empty}}%
  337. \newcommand{\today}{%
  338.   \relax\ifcase\month\or
  339.   January\or February\or March\or April\or May\or June\or
  340.   July\or August\or September\or October\or November\or December\fi
  341.   \space\number\day, \number\year}
  342. \DeclareOldFontCommand{\rm}{\normalfont\rmfamily}{\mathrm}
  343. \DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
  344. \DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
  345. \DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
  346. \DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
  347. \DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
  348. \DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
  349. \def\defaultfont{\@subst@obsolete\defaultfont\normalfont}
  350. \renewcommand{\title}[2][]{\gdef\shorttitle{#1}\gdef\@title{#2}}
  351. \edef\title{\@nx\@dblarg
  352.   \@xp\@nx\csname\string\title\endcsname}
  353. \renewcommand{\author}[2][]{%
  354.   \ifx\@empty\authors
  355.     \gdef\shortauthors{#1}\gdef\authors{#2}%
  356.   \else
  357.     \g@addto@macro\shortauthors{\and#1}%
  358.     \g@addto@macro\authors{\and#2}%
  359.   \fi
  360.   \g@addto@macro\addresses{\author{}}%
  361. }
  362. \edef\author{\@nx\@dblarg
  363.   \@xp\@nx\csname\string\author\endcsname}
  364. \let\shortauthors\@empty   \let\authors\@empty
  365. \let\addresses\@empty      \let\thankses\@empty
  366. \newcommand{\address}[2][]{\g@addto@macro\addresses{\address{#1}{#2}}}
  367. \newcommand{\curraddr}[2][]{\g@addto@macro\addresses{\curraddr{#1}{#2}}}
  368. \newcommand{\email}[2][]{\g@addto@macro\addresses{\email{#1}{#2}}}
  369. \renewcommand{\thanks}[1]{\g@addto@macro\thankses{\thanks{#1}}}
  370. \def\@setaddresses{\par
  371.   \nobreak \begingroup \footnotesize
  372.   \def\author##1{\nobreak\addvspace\bigskipamount}%
  373.   \def\\{\unskip, \ignorespaces}%
  374.   \interlinepenalty\@M
  375.   \def\address##1##2{\begingroup
  376.     \par\nobreak\addvspace\bigskipamount\indent
  377.     \@ifnotempty{##1}{(\ignorespaces##1\unskip) }%
  378.     {\scshape\ignorespaces##2}\par\endgroup}%
  379.   \def\curraddr##1##2{\begingroup
  380.     \@ifnotempty{##2}{\nobreak\indent{\itshape Current address}%
  381.       \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
  382.       ##2\par\endgroup}}%
  383.   \def\email##1##2{\begingroup
  384.     \@ifnotempty{##2}{\nobreak\indent{\itshape E-mail address}%
  385.       \@ifnotempty{##1}{, \ignorespaces##1\unskip}\/:\space
  386.       \ttfamily##2\par\endgroup}}%
  387.   \addresses
  388.   \endgroup
  389. }
  390. \let\@date\@empty
  391. \def\dedicatory#1{\def\@dedicatory{#1}}
  392. \let\@dedicatory=\@empty
  393. \def\keywords#1{\def\@keywords{#1}}
  394. \let\@keywords=\@empty
  395. \def\subjclass#1{\def\@subjclass{#1}}
  396. \let\@subjclass=\@empty
  397. \def\translator#1{\g@addto@macro\@translators{\and#1}}
  398. \let\@translators=\@empty
  399. \newcommand{\xandlist}[4]{\@andlista{{#1}{#2}{#3}}#4\and\and}
  400. \def\@andlista#1#2\and#3\and{\@andlistc{#2}\@ifnotempty{#3}{%
  401.   \@andlistb#1{#3}}}
  402. \def\@andlistb#1#2#3#4#5\and{%
  403.   \@ifempty{#5}{%
  404.     \@andlistc{#2#4}%
  405.   }{%
  406.     \@andlistc{#1#4}\@andlistb{#1}{#3}{#3}{#5}%
  407.   }}
  408. \let\@andlistc\@iden
  409. \newcommand{\nxandlist}[4]{%
  410.   \def\@andlistc##1{\toks@\@xp{\the\toks@##1}}%
  411.   \toks@{\toks@\@emptytoks \@andlista{{#1}{#2}{#3}}}%
  412.   \the\@xp\toks@#4\and\and
  413.   \edef#4{\the\toks@}%
  414.   \let\@andlistc\@iden}
  415. \newcommand{\andify}{%
  416.   \nxandlist{\unskip, }{\unskip{} and~}{\unskip, and~}}
  417. \def\and{\unskip{ }and \ignorespaces}
  418. \def\maketitle{\par
  419.   \@topnum\z@ % this prevents figures from falling at the top of page 1
  420.   \begingroup
  421.   \@maketitle
  422.   \endgroup
  423.   \c@footnote\z@
  424.   \def\do##1{\let##1\relax}%
  425.   \do\maketitle \do\@maketitle \do\title
  426.   \do\author \do\address \do\email \do\curraddr
  427.   \do\dedicatory \do\@dedicatory \do\thanks \do\thankses
  428.   \do\keywords \do\@keywords \do\subjclass \do\@subjclass
  429. }
  430. \newcommand{\abstractname}{Abstract}
  431. \newcommand{\datename}{Date}
  432. \newcommand{\keywordsname}{Key words and phrases}
  433. \newcommand{\subjclassname}{\textup{1991} Mathematics Subject
  434.      Classification}
  435. \def\@setdate{{\itshape \datename.}\enspace \@date\@addpunct.}
  436. \def\@setsubjclass{%
  437.   {\itshape\subjclassname.}\enspace\@subjclass\@addpunct.}
  438. \def\@setkeywords{%
  439.   {\itshape \keywordsname.}\enspace \@keywords\@addpunct.}
  440. \def\@setthanks{\def\thanks##1{\par##1\@addpunct.}\thankses}
  441. \def\abstract{\par
  442.   \removelastskip
  443.   \vskip\z@skip
  444.   \normalfont\footnotesize
  445.   \list{{\scshape\abstractname}.}{%
  446.     \topsep32\p@\@plus 14\p@
  447.     \labelsep.5em\leftmargin3pc \rightmargin\leftmargin
  448.     \itemindent\leftmargin}%
  449.   \item\relax\ignorespaces
  450. }
  451. \def\endabstract{\endtrivlist
  452.   \global\let\abstract\relax \global\let\endabstract\relax
  453. }
  454. \def\titlepage{%
  455.   \cleardoublepage
  456.   \thispagestyle{empty}\setcounter{page}{0}}
  457. \def\endtitlepage{\newpage}
  458. \def\labelenumi{\theenumi.}
  459. \def\theenumi{\@arabic\c@enumi}
  460. \def\labelenumii{(\theenumii)}
  461. \def\theenumii{\@alph\c@enumii}
  462. \def\p@enumii{\theenumi}
  463. \def\labelenumiii{(\theenumiii)}
  464. \def\theenumiii{\@roman\c@enumiii}
  465. \def\p@enumiii{\theenumi(\theenumii)}
  466. \def\labelenumiv{(\theenumiv)}
  467. \def\theenumiv{\@Alph\c@enumiv}
  468. \def\p@enumiv{\p@enumiii\theenumiii}
  469. \def\labelitemi{$\m@th\bullet$}
  470. \def\labelitemii{\bfseries --}% \upshape already done by \itemize
  471. \def\labelitemiii{$\m@th\ast$}
  472. \def\labelitemiv{$\m@th\cdot$}
  473. \def\verse{\let\\\@centercr
  474.   \list{}{\itemsep\z@ \itemindent -1.5em\listparindent\itemindent
  475.   \rightmargin\leftmargin \advance\leftmargin 1.5em}\item[]}
  476. \let\endverse=\endlist
  477. \def\quotation{\list{}{%
  478.     \leftmargin3pc \listparindent\normalparindent
  479.     \itemindent\z@
  480.     \rightmargin\leftmargin \parsep\z@ \@plus\p@}%
  481.   \item[]}
  482. \let\endquotation=\endlist
  483. \def\quote{\list{}{\rightmargin\leftmargin}\item[]}
  484. \let\endquote=\endlist
  485. \def\trivlist{\parsep\parskip\@nmbrlistfalse
  486.   \@trivlist \labelwidth\z@ \leftmargin\z@
  487.   \itemindent\z@
  488.   \let\@itemlabel\@empty
  489.   \def\makelabel##1{\upshape##1}}
  490.  
  491. \def\enumerate{\ifnum \@enumdepth >3 \@toodeep\else
  492.       \advance\@enumdepth \@ne
  493.       \edef\@enumctr{enum\romannumeral\the\@enumdepth}\list
  494.       {\csname label\@enumctr\endcsname}{\usecounter
  495.         {\@enumctr}\def\makelabel##1{\hss\llap{\upshape##1}}}\fi}
  496.  
  497. \def\itemize{%
  498.   \ifnum\@itemdepth>3 \@toodeep
  499.   \else \advance\@itemdepth\@ne
  500.     \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
  501.     \list{\csname\@itemitem\endcsname}%
  502.       {\def\makelabel##1{\hss\llap{\upshape##1}}}%
  503.   \fi}
  504. \newcommand{\descriptionlabel}[1]{\hspace\labelsep \upshape\bfseries #1:}
  505. \newcommand{\description}{\list{}{%
  506.   \advance\leftmargini6\p@ \itemindent-12\p@
  507.   \labelwidth\z@ \let\makelabel\descriptionlabel}}
  508. \let\enddescription=\endlist
  509. \AtBeginDocument{\settowidth\leftmargini{\labelenumi\hspace*\labelsep}%
  510.   \advance\leftmargini by \normalparindent
  511.   \settowidth\leftmarginii{\labelenumii\hspace*\labelsep}%
  512.   \advance\leftmarginii by 15pt
  513.   \settowidth\leftmarginiii{\labelenumiii\hspace*\labelsep}%
  514.   \advance\leftmarginiii by 12pt
  515.   \settowidth\leftmarginiv{\labelenumiv\hspace*\labelsep}%
  516.   \advance\leftmarginiv by 10pt
  517.   \leftmarginv=10pt
  518.   \leftmarginvi=10pt
  519.   \leftmargin=\leftmargini
  520.   \labelsep=5pt
  521.   \labelwidth=\leftmargini \advance\labelwidth-\labelsep
  522.   \@listi}
  523. \newskip\listisep
  524. \listisep\smallskipamount
  525. \def\@listI{\leftmargin\leftmargini \parsep\z@skip
  526.   \topsep\listisep \itemsep\z@skip
  527.   \listparindent\normalparindent}
  528. \let\@listi\@listI
  529. \def\@listii{\leftmargin\leftmarginii
  530.   \labelwidth\leftmarginii \advance\labelwidth-\labelsep
  531.   \topsep\z@skip \parsep\z@skip \partopsep\z@skip \itemsep\z@skip}
  532. \def\@listiii{\leftmargin\leftmarginiii
  533.   \labelwidth\leftmarginiii \advance\labelwidth-\labelsep}
  534. \def\@listiv{\leftmargin\leftmarginiv
  535.   \labelwidth\leftmarginiv \advance\labelwidth-\labelsep}
  536. \def\@listv{\leftmargin\leftmarginv
  537.   \labelwidth\leftmarginv \advance\labelwidth-\labelsep}
  538. \def\@listvi{\leftmargin\leftmarginvi
  539.   \labelwidth\leftmarginvi \advance\labelwidth-\labelsep}
  540. \def\@startsection#1#2#3#4#5#6{%
  541.  \if@noskipsec \leavevmode \fi
  542.  \par \@tempskipa #4\relax
  543.  \@afterindenttrue
  544.  \ifdim \@tempskipa <\z@ \@tempskipa -\@tempskipa \@afterindentfalse\fi
  545.  \if@nobreak \everypar{}\else
  546.      \addpenalty\@secpenalty\addvspace\@tempskipa\fi
  547.  \@ifstar{\@dblarg{\@sect{#1}{\@m}{#3}{#4}{#5}{#6}}}%
  548.          {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}%
  549. }
  550. \def\@sect#1#2#3#4#5#6[#7]#8{%
  551.   \ifnum #2>\c@secnumdepth \let\@thisnumber\@empty
  552.   \else \@xp\let\@xp\@thisnumber\csname the#1\endcsname\fi
  553.  \ifnum #2>\c@secnumdepth
  554.    \let\@svsec\@empty
  555.  \else
  556.    \refstepcounter{#1}%
  557.    \edef\@svsec{\ifnum#2<\@m
  558.              \@ifundefined{#1name}{}{%
  559.                \ignorespaces\csname #1name\endcsname\space}\fi
  560.     \@nx\textup{\csname the#1\endcsname.}\enspace}%
  561.   \fi
  562.   \@tempskipa #5\relax
  563.   \ifdim \@tempskipa>\z@ % then this is not a run-in section heading
  564.     \begingroup #6\relax
  565.     \@hangfrom{\hskip #3\relax\@svsec}{\interlinepenalty\@M #8\par}%
  566.     \endgroup
  567.   \csname #1mark\endcsname{\@thisnumber}{#7}%
  568.   \ifnum#2>\@m \else
  569.     \addcontentsline{toc}{#1}{\protect\numberline{%
  570.       \@ifundefined{#1name}{}{\@xp\protect\csname#1name\endcsname\ }%
  571.       \@thisnumber.}#8}%
  572.   \fi
  573.  \else
  574.   \def\@svsechd{#6\hskip #3\@svsec
  575.     \@ifnotempty{#8}{\ignorespaces#8\unskip
  576.        \@addpunct.}%
  577.         \ifnum#2>\@m \else
  578.           \addcontentsline{toc}{#1}%
  579.             {\ifnum #2>\c@secnumdepth \else
  580.               \protect\numberline{%
  581.                 \ifnum#2<\@m\@ifundefined{#1name}{}{%
  582.                   \csname #1name\endcsname\ }\fi
  583.                 \@thisnumber.}\fi
  584.              #8}\fi}%
  585.   \fi
  586.   \global\@nobreaktrue
  587.   \@xsect{#5}}
  588. \let\@ssect\relax
  589. \newcounter{part}
  590. \newcounter{chapter}
  591. \newcounter{section}[chapter]
  592. \def\thesection{\arabic{section}}
  593. \newcounter{subsection}[section]
  594. \newcounter{subsubsection}[subsection]
  595. \newcounter{paragraph}[subsubsection]
  596. \renewcommand\thepart          {\arabic{part}}
  597. \renewcommand\thechapter       {\arabic{chapter}}
  598. \renewcommand\thesection       {\arabic{section}}
  599. \renewcommand\thesubsection    {\thesection.\arabic{subsection}}
  600. \renewcommand\thesubsubsection {\thesubsection .\arabic{subsubsection}}
  601. \renewcommand\theparagraph     {\thesubsubsection.\arabic{paragraph}}
  602. \setcounter{secnumdepth}{3}
  603. \def\partname{Part}
  604. \def\part{\cleardoublepage \thispagestyle{empty}%
  605.   \null\vfil  \markboth{}{}\secdef\@part\@spart}
  606. \def\@part[#1]#2{%
  607.   \ifnum \c@secnumdepth >-2\relax \refstepcounter{part}%
  608.     \addcontentsline{toc}{part}{\partname\ \thepart.
  609.         \protect\enspace\protect\noindent#1}%
  610.   \else
  611.     \addcontentsline{toc}{part}{#1}\fi
  612.   \begingroup\centering
  613.   \ifnum \c@secnumdepth >-2\relax
  614.        {\fontsize{\@xviipt}{22}\bfseries
  615.          \partname\ \thepart} \vskip 20\p@ \fi
  616.   \fontsize{\@xxpt}{25}\bfseries
  617.       #1\vfil\vfil\endgroup \newpage\thispagestyle{empty}}
  618.  
  619. \def\@spart#1{\addcontentsline{toc}{part}{\protect\noindent#1}%
  620.   \begingroup\centering
  621.   \fontsize{\@xxpt}{25}\bfseries
  622.      #1\vfil\vfil\endgroup \newpage\thispagestyle{empty}}
  623. \def\partrunhead#1#2#3{%
  624.   \@ifnotempty{#2}{\uppercase{#1 #2}\@ifnotempty{#3}{. }}%
  625.   \def\@tempa{#3}%
  626.   \ifx\@empty\@tempa\else\uppercasenonmath\@tempa\@tempa\fi}
  627. \let\chapterrunhead\partrunhead
  628. \let\sectionrunhead\partrunhead
  629. \def\section{\@startsection{section}{1}%
  630.   \z@{.7\linespacing\@plus\linespacing}{.5\linespacing}%
  631.   {\normalfont\bfseries\centering}}
  632. \def\subsection{\@startsection{subsection}{2}%
  633.   \normalparindent{.5\linespacing\@plus.7\linespacing}{-.5em}%
  634.   {\normalfont\bfseries}}
  635. \def\subsubsection{\@startsection{subsubsection}{3}%
  636.   \normalparindent\z@{-.5em}%
  637.   {\normalfont\itshape}}
  638. \def\paragraph{\@startsection{paragraph}{4}%
  639.   \normalparindent\z@{-\fontdimen2\font}%
  640.   \normalfont}
  641. \def\subparagraph{\@startsection{subparagraph}{5}%
  642.   \z@\z@{-\fontdimen2\font}%
  643.   \normalfont}
  644. \def\appendixname{Appendix}
  645. \def\@Roman#1{\@xp\@slowromancap
  646.   \romannumeral#1@}%
  647. \def\@slowromancap#1{\ifx @#1% then terminate
  648.   \else
  649.     \if i#1I\else\if v#1V\else\if x#1X\else\if l#1L\else\if
  650.     c#1C\else\if m#1M\else#1\fi\fi\fi\fi\fi\fi
  651.     \@xp\@slowromancap
  652.   \fi
  653. }
  654. \def\frontmatter{\cleardoublepage\pagenumbering{roman}}
  655. \def\mainmatter{\cleardoublepage\pagenumbering{arabic}}
  656. \def\backmatter{\cleardoublepage}
  657. \def\aufm #1\endaufm{\vspace*{12pt}{\flushright #1\endgraf}}
  658. \def\chapter{\cleardoublepage \thispagestyle{plain}\global\@topnum\z@
  659.   \@afterindentfalse \secdef\@chapter\@schapter}
  660. \def\@chapter[#1]#2{\refstepcounter{chapter}%
  661.   \ifnum \c@secnumdepth <\z@ \let\thechapter\@empty\fi
  662.   \typeout{\chaptername\space\thechapter}%
  663.   \addcontentsline{toc}{chapter}{%
  664.     \protect\numberline{%
  665.       \ifx\thechapter\@empty\else\chaptername\ \thechapter.\fi}#1}%
  666.   \chaptermark\thechapter{#1}%
  667.   \addtocontents{lof}{\protect\addvspace{10\p@}}%
  668.   \addtocontents{lot}{\protect\addvspace{10\p@}}%
  669.   \@makechapterhead{#2}\@afterheading}
  670. \def\@schapter#1{\typeout{#1}%
  671.   \addcontentsline{toc}{chapter}{#1}%
  672.   \chaptermark{}{#1}%
  673.   \addtocontents{lof}{\protect\addvspace{10\p@}}%
  674.   \addtocontents{lot}{\protect\addvspace{10\p@}}%
  675.   \@makeschapterhead{#1}\@afterheading}
  676. \def\chaptername{Chapter}
  677. \def\thechapter{\@arabic\c@chapter}
  678. \def\@makechapterhead#1{\global\topskip 8.5pc\relax
  679.   \begingroup
  680.   \fontsize{\@xivpt}{18}\bfseries\centering
  681.     \ifnum\c@secnumdepth>\m@ne
  682.       \leavevmode \hskip-\leftskip
  683.       \rlap{\vbox to\z@{\vss
  684.           \centerline{\normalsize\mdseries
  685.               \uppercase\@xp{\chaptername}\enspace\thechapter}
  686.           \vskip 2pc}}\hskip\leftskip\fi
  687.      #1\par \endgroup
  688.   \skip@34\p@ \advance\skip@-\normalbaselineskip
  689.   \vskip\skip@ }
  690. \def\@makeschapterhead#1{\global\topskip 8.5pc\relax
  691.   \begingroup
  692.   \fontsize{\@xivpt}{18}\bfseries\centering
  693.   #1\par \endgroup
  694.   \skip@34\p@ \advance\skip@-\normalbaselineskip
  695.   \vskip\skip@ }
  696. \def\appendix{\par
  697.   \c@chapter\z@ \c@section\z@
  698.   \def\chaptername{Appendix}%
  699.   \def\thechapter{\@Alph\c@chapter}}
  700. \newcommand{\@pnumwidth}{1.6em}
  701. \newcommand{\@tocrmarg}{2.6em}
  702. \setcounter{tocdepth}{1}
  703. \def\@starttoc#1#2{\begingroup
  704.   \let\secdef\@gobbletwo \chapter
  705.   \ifx#2\contentsname \else
  706.     \addcontentsline{toc}{chapter}#2\fi
  707.   \typeout#2\chaptermark{}#2\@makeschapterhead#2\@afterheading
  708.   \makeatletter
  709.   \@input{\jobname.#1}%
  710.   \if@filesw
  711.     \@xp\newwrite\csname tf@#1\endcsname
  712.     \immediate\@xp\openout\csname tf@#1\endcsname \jobname.#1\relax
  713.   \fi
  714.   \global\@nobreakfalse \endgroup
  715.   \newpage
  716. }
  717. \def\contentsname{Contents}
  718. \def\listfigurename{List of Figures}
  719. \def\listtablename{List of Tables}
  720. \def\tableofcontents{\@starttoc{toc}\contentsname}
  721. \def\listoffigures{\@starttoc{lof}\listfigurename}
  722. \def\listoftables{\@starttoc{lot}\listtablename}
  723. \newskip\chaptocamount
  724. \chaptocamount=8pt
  725. \newbox\TestChapwd
  726. \newbox\TestAppwd
  727. \newbox\TestSectwd
  728. \newbox\TestFigwd
  729. \setbox\TestChapwd=\hbox{Chapter 1.\hskip1em}%
  730. \setbox\TestAppwd=\hbox{Appendix M.\hskip1em}%
  731. \setbox\TestSectwd=\hbox{0.0.\hskip1em}%
  732. \setbox\TestFigwd=\hbox{0.0.\hskip1em}%
  733. \def\numberline#1{\hbox to\@tempdima{\hfill#1\hskip1em}}%
  734. \def\chapterline#1{\hbox to\@tempdima{#1\hfill}}%
  735. \def\@tocline#1#2#3#4#5#6{\par
  736.   \addpenalty\@secpenalty\addvspace{#1}%
  737.   \begingroup
  738. \hyphenpenalty=10000
  739. \@tempdima#3\relax
  740.   \parindent\z@ \leftskip#2\relax \advance\leftskip by #3\relax
  741.   \rightskip\@pnumwidth \parfillskip-\@pnumwidth
  742.   {#4\leavevmode\hskip-\@tempdima #5\relax
  743.         \hfil\hbox to\@pnumwidth{\hss {\mdseries #6}}}\par\nobreak
  744.   \endgroup}
  745. \def\l@figure{\@tocline\bigskipamount
  746.    {0pt}{\wd\TestFigwd}{\upshape}}
  747. \let\l@table=\l@figure
  748. \def\l@chapter{\@tocline\chaptocamount{0pt}{\wd\TestChapwd}{\upshape}}
  749. \def\l@appendix{\@tocline\chaptocamount{0pt}{\wd\TestAppwd}{\upshape}}
  750. \def\l@section{\@tocline{0pt}{1pc}{\wd\TestSectwd}{\upshape}}
  751. \def\l@subsection{\@tocline{0pt}{1pc}{5pc}{\upshape}}
  752. \def\l@subsubsection{\@tocline{0pt}{1pc}{7pc}{\upshape}}
  753. \def\l@part{\@tocline{12pt plus 2pt}{0pt}{0pt}{\upshape\bfseries}}
  754. \def\@dottedtocline#1#2#3#4#5{\ifnum #1>\c@tocdepth \else
  755.   \vskip \z@\@plus\p@
  756.   {\leftskip #2\relax \rightskip\@tocrmarg \parfillskip-\rightskip
  757.    \parindent #2\relax \@afterindenttrue
  758.    \interlinepenalty\@M \leavevmode
  759.    \@tempdima #3\relax \advance\leftskip\@tempdima
  760.     \null \hskip-\leftskip #4\nobreak
  761.         \hfill\nobreak
  762.   \ifnum#1<\c@tocdepth\hbox to\@pnumwidth{\hfil\upshape#5}\fi
  763.   \null\par}\fi}
  764. \def\numberline#1{\@ifnotempty{#1}{%
  765.   \sbox\z@{#1\enspace}%
  766.   \ifdim\wd\z@>\@tempdima \box\z@\else \hbox to\@tempdima{#1\hfil}\fi
  767. }}
  768. \def\refname{References}
  769. \def\bibname{Bibliography}
  770. \def\bibliographystyle#1{%
  771.    \if@filesw\immediate\write\@auxout
  772.     {\string\bibstyle{#1}}\fi
  773.         \def\@tempa{#1}%
  774.         \def\@tempb{amsplain}%
  775.         \def\@tempc{}%
  776.         \ifx\@tempa\@tempb
  777.                 \def\@biblabel##1{##1.}%
  778.                 \def\bibsetup{}%
  779.         \else
  780.                 \def\bibsetup{\labelsep6\p@}%
  781.         \ifx\@tempa\@tempc
  782.                 \def\@biblabel##1{}%
  783.                 \def\bibsetup{\labelwidth\z@ \leftmargin24\p@
  784.                 \itemindent-24\p@
  785.                           \labelsep\z@ }%
  786.         \fi
  787. \fi}
  788. \newenvironment{thebibliography}[1]{%
  789.   \@xp\chapter\@xp*\@xp{\bibname}%
  790.   \normalfont\footnotesize\labelsep .5em\relax
  791.   \renewcommand\theenumiv{\arabic{enumiv}}\let\p@enumiv\@empty
  792.   \list{\@biblabel{\theenumiv}}{\settowidth\labelwidth{\@biblabel{#1}}%
  793.     \leftmargin\labelwidth \advance\leftmargin\labelsep
  794.     \usecounter{enumiv}}%
  795.   \sloppy \clubpenalty\@M \widowpenalty\clubpenalty
  796.   \sfcode`\.=\@m
  797. }{%
  798.   \def\@noitemerr{\@latex@warning{Empty `thebibliography' environment}}%
  799.   \endlist
  800. }
  801. \def\bysame{\leavevmode\hbox to3em{\hrulefill}\thinspace}
  802. \def\newblock{}
  803. \newif\if@restonecol
  804. \def\indexchap{\@startsection{chapter}{1}{\z@}{92pt}{10pc}%
  805.   {\centering\fontsize{\@xivpt}{18}\bfseries}}%
  806. \def\theindex{\@restonecoltrue\if@twocolumn\@restonecolfalse\fi
  807.   \columnseprule\z@ \columnsep 35\p@
  808.   \twocolumn[\@xp\indexchap\@xp*\@xp{\indexname}]%
  809.   \chaptermark{}\indexname
  810.   \thispagestyle{plain}%
  811.   \let\item\@idxitem
  812.   \parindent\z@  \parskip\z@\@plus.3\p@\relax
  813.   \footnotesize}
  814. \def\indexname{Index}
  815. \def\@idxitem{\par\hangindent 2em}
  816. \def\subitem{\par\hangindent 2em\hspace*{1em}}
  817. \def\subsubitem{\par\hangindent 3em\hspace*{2em}}
  818. \def\endtheindex{\if@restonecol\onecolumn\else\clearpage\fi}
  819. \def\indexspace{\par\bigskip}
  820. \@addtoreset{footnote}{chapter}
  821. \def\footnoterule{\kern-.4\p@
  822.         \hrule\@width 5pc\kern11\p@\kern-\footnotesep}
  823. \def\@makefnmark{\hbox{$\m@th^{\@thefnmark}$}}
  824. \def\@makefntext{\indent\@makefnmark}
  825. \long\def\@footnotetext#1{\insert\footins{%
  826.   \normalfont\footnotesize
  827.   \interlinepenalty\interfootnotelinepenalty
  828.   \splittopskip\footnotesep \splitmaxdepth \dp\strutbox
  829.   \floatingpenalty\@MM \hsize\columnwidth
  830.   \@parboxrestore \parindent\normalparindent \sloppy
  831.   \edef\@currentlabel{\p@footnote\@thefnmark}%
  832.   \@makefntext{\rule\z@\footnotesep\ignorespaces#1\unskip\strut\par}}}
  833. \hfuzz=1pt \vfuzz=\hfuzz
  834. \def\sloppy{\tolerance9999\relax}
  835. \setcounter{topnumber}{4}
  836. \setcounter{bottomnumber}{4}
  837. \setcounter{totalnumber}{4}
  838. \setcounter{dbltopnumber}{4}
  839. \renewcommand{\topfraction}{.97}
  840. \renewcommand{\bottomfraction}{.97}
  841. \renewcommand{\textfraction}{.03}
  842. \renewcommand{\floatpagefraction}{.9}
  843. \renewcommand{\dbltopfraction}{.97}
  844. \renewcommand{\dblfloatpagefraction}{.9}
  845. \setlength{\floatsep}{12pt plus 6pt minus 4pt}
  846. \setlength{\textfloatsep}{15pt plus 8pt minus 5pt}
  847. \setlength{\intextsep}{12pt plus 6pt minus 4pt}
  848. \setlength{\dblfloatsep}{12pt plus 6pt minus 4pt}
  849. \setlength{\dbltextfloatsep}{15pt plus 8pt minus 5pt}
  850. \setlength{\@fptop}{0pt}% removed ``plus 1fil''
  851. \setlength{\@fpsep}{8pt}% removed ``plus 2fil''
  852. \setlength{\@fpbot}{0pt plus 1fil}
  853. \setlength{\@dblfptop}{0pt}% removed ``plus 1fil''
  854. \setlength{\@dblfpsep}{8pt}% removed ``plus 2fil''
  855. \setlength{\@dblfpbot}{0pt plus 1fil}
  856. \newcommand{\fps@figure}{tbp}
  857. \newcommand{\fps@table}{tbp}
  858. \newcounter{figure}[chapter]
  859. \def\ftype@figure{1}
  860. \def\ext@figure{lof}
  861. \def\fnum@figure{\figurename\ \thefigure}
  862. \def\figurename{Figure}
  863. \def\figure{\@float{figure}}
  864. \let\endfigure=\end@float
  865. \newcounter{table}[chapter]
  866. \def\ftype@table{2}
  867. \def\ext@table{lot}
  868. \def\fnum@table{\tablename\ \thetable}
  869. \def\tablename{Table}
  870. \def\table{\@float{table}}
  871. \let\endtable=\end@float
  872. \long\def\@makecaption#1#2{%
  873.   \setbox\@tempboxa\vbox{\color@setgroup
  874.     \advance\hsize-6pc\noindent
  875.     \scshape#1\@xp\@ifnotempty\@xp
  876.         {\@cdr#2\@nil}{.\upshape\enspace#2}%
  877.     \unskip\kern-6pc\par
  878.     \global\setbox\@ne\lastbox\color@endgroup}%
  879.   \ifhbox\@ne % the normal case
  880.     \setbox\@ne\hbox{\unhbox\@ne\unskip\unskip\unpenalty\unkern}%
  881.   \fi
  882.   \ifdim\wd\@tempboxa=\z@ % this means caption will fit on one line
  883.     \setbox\@ne\hbox to\columnwidth{\hss\kern-6pc\box\@ne\hss}%
  884.   \else % tempboxa contained more than one line
  885.     \setbox\@ne\vbox{\unvbox\@tempboxa\parskip\z@skip
  886.         \noindent\unhbox\@ne\advance\hsize-6pc\par}%
  887. \fi
  888.   \ifnum\@tempcnta<64 % if the float IS a figure...
  889.     \addvspace\abovecaptionskip
  890.     \moveright 3pc\box\@ne
  891.   \else % if the float IS NOT a figure...
  892.     \moveright 3pc\box\@ne
  893.     \nobreak
  894.     \vskip\belowcaptionskip
  895.   \fi
  896. \relax
  897. }
  898. \newskip\abovecaptionskip \abovecaptionskip=12pt \relax
  899. \newskip\belowcaptionskip \belowcaptionskip=12pt \relax
  900. \RequirePackage{amsthm}
  901. \def\@swapped#1#2{#2%
  902.   \@ifnotempty{#1}{\@addpunct{.}\quad#1\unskip}}
  903. \def\th@plain{%
  904.   \let\theoremindent\indent
  905.   \theoremheadfont{\scshape}% heading font small caps
  906.   \theoremnotefont{\mdseries\upshape}
  907.   \theorempreskipamount.5\baselineskip\@plus.2\baselineskip
  908.                                     \@minus.2\baselineskip
  909.   \theorempostskipamount\theorempreskipamount
  910.   \itshape
  911. }
  912. \def\th@remark{%
  913.   \let\theoremindent\indent
  914.   \theoremheadfont{\scshape}% heading font small caps
  915.   \theoremnotefont{\mdseries\upshape}%
  916.   \theorempreskipamount.5\baselineskip\@plus.2\baselineskip
  917.                                     \@minus.2\baselineskip
  918.   \theorempostskipamount\theorempreskipamount
  919.   \upshape
  920. }
  921. \def\th@definition{%
  922.   \let\theoremindent\indent
  923.   \theoremheadfont{\scshape}% heading font small caps
  924.   \theoremnotefont{\mdseries\upshape}%
  925.   \theorempreskipamount.5\baselineskip\@plus.2\baselineskip
  926.                                     \@minus.2\baselineskip
  927.   \theorempostskipamount\theorempreskipamount
  928.   \upshape
  929. }
  930. \renewenvironment{proof}[1][\proofname]{\par \normalfont
  931.   \topsep6\p@\@plus6\p@ \trivlist \itemindent\normalparindent
  932.   \item[\hskip\labelsep\scshape
  933.     #1\@addpunct{.}]\ignorespaces
  934. }{%
  935.   \qed\endtrivlist
  936. }
  937. \newenvironment{pf}{\proof[\proofname]}{\endproof}
  938. \newenvironment{pf*}[1]{\proof[#1]}{\endproof}
  939. \def\@biblabel#1{\@ifnotempty{#1}{[#1]}}
  940. \def\@cite#1#2{{%
  941.  \m@th\upshape\mdseries[{\bfseries #1}{\if@tempswa, #2\fi}]}}
  942. \def\fullwidthdisplay{\displayindent\z@ \displaywidth\columnwidth}
  943. \edef\@tempa{\noexpand\fullwidthdisplay\the\everydisplay}
  944. \everydisplay\expandafter{\@tempa}
  945. \newcommand\seename{see also}%
  946. \newcommand\see[2]{{\em \seename\/} #1}%
  947. \newcommand\printindex{\@input{\jobname.ind}}%
  948. \def\@maketitle{\cleardoublepage \thispagestyle{empty}%
  949.   \begingroup \topskip\z@skip
  950.   \null\vfil
  951.   \begingroup
  952.   \Large\bfseries \centering
  953.   \openup\medskipamount
  954.   \uppercasenonmath\@title
  955.   \@title\vfil
  956.   \def\and{\par\bigskip}\mdseries\authors\vfil
  957.   \endgroup
  958.   \vfil\vfil
  959.   \newpage\thispagestyle{empty}
  960.   \null\vfil
  961.   \begingroup
  962.     \parskip\medskipamount
  963.     \ifx\@empty\@translators\else\@settranslators\fi
  964.     \ifx\@empty\thankses\else\@setthanks\fi
  965.   \endgroup
  966.   \vfil
  967.   \ifx\@empty\@subjclass \else \@setsubjclass \vfil\fi
  968.   \ifx\@empty\@keywords \else \@setkeywords \vfil\fi
  969.   \ifx\@empty\addresses\else\@setaddresses\fi
  970.   \vfil\vfil
  971.   \endgroup}
  972. \def\@settranslators{\par
  973.   \begingroup
  974.   Translated by: \andify\@translators \uppercasenonmath\@translators
  975.   \@translators \@@par
  976.   \endgroup}
  977. \hyphenation{acad-e-my acad-e-mies af-ter-thought anom-aly anom-alies
  978. an-ti-deriv-a-tive an-tin-o-my an-tin-o-mies apoth-e-o-ses
  979. apoth-e-o-sis ap-pen-dix ar-che-typ-al as-sign-a-ble as-sist-ant-ship
  980. as-ymp-tot-ic asyn-chro-nous at-trib-uted at-trib-ut-able bank-rupt
  981. bank-rupt-cy bi-dif-fer-en-tial blue-print busier busiest
  982. cat-a-stroph-ic cat-a-stroph-i-cally con-gress cross-hatched data-base
  983. de-fin-i-tive de-riv-a-tive dis-trib-ute dri-ver dri-vers eco-nom-ics
  984. econ-o-mist elit-ist equi-vari-ant ex-quis-ite ex-tra-or-di-nary
  985. flow-chart for-mi-da-ble forth-right friv-o-lous ge-o-des-ic
  986. ge-o-det-ic geo-met-ric griev-ance griev-ous griev-ous-ly
  987. hexa-dec-i-mal ho-lo-no-my ho-mo-thetic ideals idio-syn-crasy
  988. in-fin-ite-ly in-fin-i-tes-i-mal ir-rev-o-ca-ble key-stroke
  989. lam-en-ta-ble light-weight mal-a-prop-ism man-u-script mar-gin-al
  990. meta-bol-ic me-tab-o-lism meta-lan-guage me-trop-o-lis
  991. met-ro-pol-i-tan mi-nut-est mol-e-cule mono-chrome mono-pole
  992. mo-nop-oly mono-spline mo-not-o-nous mul-ti-fac-eted mul-ti-plic-able
  993. non-euclid-ean non-iso-mor-phic non-smooth par-a-digm par-a-bol-ic
  994. pa-rab-o-loid pa-ram-e-trize para-mount pen-ta-gon phe-nom-e-non
  995. post-script pre-am-ble pro-ce-dur-al pro-hib-i-tive pro-hib-i-tive-ly
  996. pseu-do-dif-fer-en-tial pseu-do-fi-nite pseu-do-nym qua-drat-ic
  997. quad-ra-ture qua-si-smooth qua-si-sta-tion-ary qua-si-tri-an-gu-lar
  998. quin-tes-sence quin-tes-sen-tial re-arrange-ment rec-tan-gle
  999. ret-ri-bu-tion retro-fit retro-fit-ted right-eous right-eous-ness
  1000. ro-bot ro-bot-ics sched-ul-ing se-mes-ter semi-def-i-nite
  1001. semi-ho-mo-thet-ic set-up se-vere-ly side-step sov-er-eign spe-cious
  1002. spher-oid spher-oid-al star-tling star-tling-ly sta-tis-tics
  1003. sto-chas-tic straight-est strange-ness strat-a-gem strong-hold
  1004. sum-ma-ble symp-to-matic syn-chro-nous topo-graph-i-cal tra-vers-a-ble
  1005. tra-ver-sal tra-ver-sals treach-ery turn-around un-at-tached
  1006. un-err-ing-ly white-space wide-spread wing-spread wretch-ed
  1007. wretch-ed-ly Eng-lish Euler-ian Feb-ru-ary Gauss-ian
  1008. Hamil-ton-ian Her-mit-ian Jan-u-ary Japan-ese Kor-te-weg
  1009. Le-gendre Mar-kov-ian Noe-ther-ian No-vem-ber Rie-mann-ian Sep-tem-ber}
  1010. \def\calclayout{\advance\textheight -\headheight
  1011.   \advance\textheight -\headsep
  1012.   \advance\textheight -\normalbaselineskip
  1013.   \advance\textheight\normaltopskip
  1014.   \oddsidemargin\paperwidth
  1015.   \advance\oddsidemargin -\textwidth
  1016.   \divide\oddsidemargin\tw@
  1017.   \ifdim\oddsidemargin<.5truein \oddsidemargin.5truein \fi
  1018.   \advance\oddsidemargin -1truein
  1019.   \evensidemargin\oddsidemargin
  1020.   \topmargin\paperheight \advance\topmargin -\textheight
  1021.   \advance\topmargin -\headheight \advance\topmargin -\headsep
  1022.   \divide\topmargin\tw@
  1023.   \ifdim\topmargin<.5truein \topmargin.5truein \fi
  1024.   \advance\topmargin -1truein\relax
  1025. }
  1026. \calclayout % initialize
  1027. \pagenumbering{arabic}
  1028. \pagestyle{headings}
  1029. \thispagestyle{plain}
  1030. \def\rom{\@subst@obsolete\rom\textup}
  1031. \if@compatibility \else\endinput\fi
  1032. \def\tiny{\Tiny}
  1033. \endinput
  1034. %% 
  1035. %% End of file `amsbook.cls'.
  1036.